![]() |
![]() |
|
Viele Eigenschaften haben einen Bezeichner, der dem Typ der Eigenschaft entspricht, der seinerseits eine Enumeration ist. Das gilt auch für FlatStyle, die vier Einstellmöglichkeiten anbietet.
Zur Veranschaulichung wollen wir uns nun alle vier Darstellungsweisen in einer Form anzeigen lassen. Dazu schlagen wir einen Weg ein, der bereits in Kapitel 5, Abschnitt 5.5.2, vorgestellt worden ist. Bekanntlich wird jede Enumeration aus der abstrakten Klasse System.Enum abgeleitet. Diese enthält die statische Methode GetValues, die ein Array der in der Enumeration enthaltenen Konstanten zurückliefert:
Über die abstrakte Klasse Type lassen sich zu einem bestimmten Typ alle gewünschten Informationen beschaffen. Mit dem typeof-Operator, hinter dem wir in Klammern einen Typ angeben, wird das Type-Objekt für diesen Typ abgerufen. Wollen wir alle Konstanten der Enumeration FlatStyle in einer foreach-Schleife durchlaufen, muss der Schleifenkopf wie folgt definiert werden:
Im folgenden Beispiel FlatStyleDemo wird der vollständige Einsatz dieser Schleife gezeigt. Dabei wird bei jedem Schleifendurchlauf eine neue Schaltfläche mit neuen Positionsdaten erzeugt. Jede Schaltfläche hat eine andere FlatStyle-Einstellung, die von der Schleifenvariablen style geliefert wird. Durch das Hinzufügen zu der Auflistung ControlCollection über die Eigenschaft Controls wird sichergestellt, dass jede Schaltfläche im Fenster angezeigt wird. Der Code wird im Ereignis DoubleClick der Form, deren Name Form1 lautet, implementiert.
Die Abbildung 16.2 zeigt die Ausgabe des Programmbeispiels, wobei der Effekt der Popup-Schaltfläche durch die Abbildung nicht wiedergegeben werden kann.
Abbildung 16.2 Die Auswirkungen der Einstellung Eigenschaft »FlatStyle« 16.2.2 Die Eigenschaft »FlatAppearance«
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Eigenschaft | Beschreibung |
| BorderColor | Legt die Rahmenfarbe der Schaltfläche fest. |
| BorderSize | Legt die Rahmenbreite der Schaltfläche fest. |
| MouseDownBackColor | Bestimmt die anzuzeigende Hintergrundfarbe der Schaltfläche, wenn auf die Schaltfläche geklickt wird. |
| MouseOverBackColor | Bestimmt die anzuzeigende Hintergrundfarbe der Schaltfläche, wenn die Maus über die Schaltfläche gezogen wird. |
Zur Gestaltung Ihrer Schaltflächen können Sie auf jeder Schaltfläche eine Grafik anzeigen lassen. Dazu dient die Eigenschaft Image. Man kann darüber streiten, ob das mehr der Spielerei eines Entwicklers zugeordnet werden muss oder zu einem ansprechenden Design beiträgt. Zu den darstellbaren Bildern zählen Bitmaps, Icons und Metafiles. Bilder lassen sich anstelle oder zusammen mit der Beschriftung anzeigen.

Hier klicken, um das Bild zu vergrößern
Abbildung 16.3 Schaltflächen mit Beschriftung und Bild
Weisen Sie einer Schaltfläche sowohl ein Image als auch eine Beschriftung zu, werden beide Elemente zunächst zentral auf der Oberfläche der Schaltfläche angezeigt. Um die beiden optisch voneinander zu trennen, können Sie die Ausrichtung des Textes und des Bildchens mit der Eigenschaft TextAlign bzw. ImageAlign wunschgemäß festlegen. Die möglichen Einstellungen dieser beiden Eigenschaften wird durch eine der Konstanten der Enumeration ContentAlignment beschrieben.
| Member | Beschreibung |
| BottomCenter | Der Inhalt wird vertikal am unteren Rand und horizontal zentriert ausgerichtet. |
| BottomLeft | Der Inhalt wird vertikal am unteren Rand und horizontal linksbündig ausgerichtet. |
| BottomRight | Der Inhalt wird vertikal am unteren Rand und horizontal rechtsbündig ausgerichtet. |
| MiddleCenter | Der Inhalt wird vertikal an der Mitte und horizontal zentriert ausgerichtet. |
| MiddleLeft | Der Inhalt wird vertikal an der Mitte und horizontal linksbündig ausgerichtet. |
| MiddleRight | Der Inhalt wird vertikal an der Mitte und horizontal rechtsbündig ausgerichtet. |
| TopCenter | Der Inhalt wird vertikal am oberen Rand und horizontal zentriert ausgerichtet. |
| TopLeft | Der Inhalt wird vertikal am oberen Rand und horizontal linksbündig ausgerichtet. |
| TopRight | Der Inhalt wird vertikal am oberen Rand und horizontal rechtsbündig ausgerichtet. |
Im Code sieht die Anweisung dazu beispielsweise wie folgt aus:
| this.btnOK.ImageAlign = ContentAlignment.MiddleLeft; |
Deutlich komfortabler ist die Einstellung im Eigenschaftsfenster der Entwicklungsumgebung. Markieren Sie eine der beiden Eigenschaften TextAlign oder ImageAlign, wird im Eigenschaftsfenster ein Hilfsfenster geöffnet, in dem Sie den Bereich auswählen können, in dem das Element angezeigt werden soll.

Hier klicken, um das Bild zu vergrößern
Abbildung 16.4 Einstellen der Eigenschaft »ImageAlign«
Die Ausrichtung der Beschriftung und des Symbols mit TextAlign und ImageAlign ist trotzdem immer noch einigen Einschränkungen unterworfen. Noch mehr gestalterische Freiheit gestattet die mit .NET 2.0 eingeführte Eigenschaft TextImageRelation. Mit den Einstellungen Overlay, ImageAboveText, ImageBeforeText, TextAboveImage und TextBeforeImage lassen sich Beschriftung und Symbol Bereichen zuordnen, innerhalb derer die beiden Elemente mit Text- und ImageAlign relativ zueinander verschoben werden können.
Eine zusätzliche Alternative bietet das Steuerelement ImageList. Dieses hat die Aufgabe, mehrere Symbole in einer Auflistung zu verwalten. Sie können das Steuerelement in den Forms-Designer ziehen und anschließend auf mittels eines Assistenten Bildchen hinzufügen. Anschließend geben Sie der Eigenschaft ImageList des Buttons an, aus welchem ImageList-Objekt das Symbol für die Schaltfläche bezogen werden soll. Das exakte Bildchen aus der Auflistung lässt sich dann aus der Liste, welche die beiden Eigenschaften ImageIndex oder ImageKey anzeigen, festlegen.
Mehr über das Steuerelement ImageList erfahren sie im Kapitel 19.11.
Vielleicht ist es Ihnen schon Folgendes aufgefallen: Haben Sie einem Formular eine vom Standard abweichende Hintergrundfarbe über die Eigenschaft BackColor zugewiesen, wird jedes Steuerelement die neue Hintergrundfarbe der Form annehmen. Dieses Verhalten zeigt sich nicht nur bei der Änderung der Hintergrundfarbe eines Fensters, auch die Vordergrundfarbe (Eigenschaft ForeColor) und die unter Font eingestellte Schriftart sind davon betroffen.
Nicht immer ist es wünschenswert, dieses Verhalten zu übernehmen. Das müssen Sie auch nicht. Stellen Sie einfach eine von der Hintergrundfarbe der Form abweichende Farbe ein, beispielsweise mit:
| btnMeinBunterButton.BackColor = Color.Yellow; |
Das Steuerelement, in diesem Fall ein Button, behält jetzt die ihm zugewiesene gelbe Farbe. Gleiches gilt auch für ForeColor und Font. Um zur Laufzeit wieder zum Standardverhalten zurückzukehren und die Einstellungen der Form zu übernehmen, erben die Steuerelemente aus der Basisklasse Controls die drei Methoden ResetFont, ResetBackColor und ResetForeColor.
| << zurück |
|
||||||||||||||
|
||||||||||||||
|
||||||||||||||
|
||||||||||||||
Copyright © Galileo Press 2006
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.